-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix max duration calculations with multiple 0 vus stages at end #2573
base: master
Are you sure you want to change the base?
Conversation
In b725f03 we fixed the calculation of the stages, unfortunately we didn't notice that the max duration for the test was wrongly calculated. This also tries to fix cases where graceful* will extend the test more then needed. Previously the code did not take into account that multiple 0 VUs stages can mean that the VUs are long ago stopped before gracefulStop (for example) needs to be taken into account.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🤞
@@ -244,7 +250,7 @@ func (vlvc RampingVUsConfig) getRawExecutionSteps(et *lib.ExecutionTuple, zeroEn | |||
} | |||
|
|||
if zeroEnd { | |||
steps = append(steps, lib.ExecutionStep{TimeOffset: timeTillEnd, PlannedVUs: 0}) | |||
addStep(timeTillEnd, 0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking at this again ... maybe I should just check that plannedVUs and timeOffset are different and add it only then 🤔
On the other hand we care to have a zero end and addStep
will check for that it just might not be at the timeTillEnd offset 🤔 .... or maybe even that isn't possible with the changes above
In b725f03 we fixed the calculation of the stages, unfortunately we
didn't notice that the max duration for the test was wrongly calculated.
This also tries to fix cases where graceful* will extend the test more
then needed. Previously the code did not take into account that multiple
0 VUs stages can mean that the VUs are long ago stopped before
gracefulStop (for example) needs to be taken into account.